package com.ano.service;

import com.ano.entity.Cluster;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface ClusterService {

    /**
     * 前面四个都是分页查询
     * 分别为：
     * 查找全部
     * 通过名字模糊查询
     * 通过类型查询
     * 通过名字和类型模糊查询
     */
    PageInfo<Cluster> findAllForPage(Integer pageNum, Integer pageSize);
    PageInfo<Cluster> findByNameForPage(Integer pageNum, Integer pageSize,String clusterName);
    PageInfo<Cluster> findByTypeForPage(Integer pageNum, Integer pageSize,String typeName);
    PageInfo<Cluster> findByNameAndTypeForPage(Integer pageNum, Integer pageSize,String clusterName,String typeName);

    //下面都是不分页的
    //通过簇名字精确查询
    Cluster findByFullName(String clustername);
    //通过簇id查询
    Cluster findById(String id);
    //不分页的查询全部
    List<Cluster> findAll();
    //不分页根据hostid查询
    List<Cluster> findByHostId(String hostid);
    //添加簇
    void add(Cluster cluster,List<String> typeNames);
    //删除簇
    void delete(String id);
    //修改簇
    void update(Cluster cluster,List<String> typeNames);

    List<String> findTypesByClusId(String clusid);
}
